The inventive concept relates to semiconductor devices, and more particularly to semiconductor devices including a flash memory which may efficiently allocate memory space according to different types of log blocks and address mapping methods for such a semiconductor device.
In flash memory, erase operations are performed before program operations. However, programming and read operations in flash memories are performed in page units, whereas erase operations are performed in block units. Accordingly, in flash memory programming operations, a flash translation layer (FTL) is used, where the FTL maps logic addresses to be programmed into corresponding physical addresses at which an erase operation is performed.
Many FTL algorithms essentially include a log block mapping method. In the log block mapping method, a limited number of log blocks are used as write buffers.